1. Technical Field
The present invention relates generally to computer networking devices and, more particularly to a data packet receiver configured to approximate and adapt for timing differences with a transmitter.
2. Description of the Background Art
Many network receivers, such as those configured to receive data formatted according to Home Phoneline Network Alliance (HomePNA or HPNA) standards, are packet-based. Typically, these receivers operate at about 2 million or 4 million symbols per second, receiving between 2 and 8 bits per symbol, with effective burst data rates of between about 4 million to 32 million bits per second (Mbps). These receivers operate in packet mode, which generally means that the transmissions are not continuous. Rather, the transmissions are only long enough to deliver between about 64 and 1518 bytes.
Consequently, these receivers advantageously train quickly upon receiving the beginning of each packet in order to properly decode the data in the packet, ideally at as high a data rate as possible. Frequently, the first two segments of a packet are used for training the receiver and comprise only 136 symbols total at 2 million symbols per second (2 Megabaud), or 68 microseconds duration. The associated data payload typically lasts from about 16 to 3796 microseconds.
Unfortunately, the time bases between a receiver and transmitter typically differ by as much as 200 parts per million (ppm). One cause of this difference is due to the relatively inexpensive crystal oscillators that are commonly used to generate master clocks for these devices. For many of these inexpensive crystal oscillators, a maximum error of about 100 ppm is common due to temperature changes and aging. Since a typical data packet network, such as a HomePNA network, can have multiple transmitting devices, a single receiver may receive data from transmitters with significantly different time bases.
The difference in time bases between the receiver and transmitter can seriously degrade the performance of the receiver. For example, assume that a receiver""s local time base is 100 ppm slow compared to a transmitter""s time base. This means that the incoming symbols seem faster by 0.01% than the receiver""s local clock, assuming that the local clock is not corrected. Over the course of a 1,000-symbol packet, the local clock will slip by 0.1 symbols, which may be enough to cause major degradation in the receiver. Specifically, the receiver""s carrier will rotate nominally through 3.5 cycles per symbol (7 millions cycles/second divided by 2 million symbols/second) but the receiver""s carrier, due to the uncorrected timing difference, will rotate through 3,499.65 cycles (3500*(1xe2x88x920.0001) cycles) instead of 3,500 cycles over the 1,000-symbol packet due to the receiver""s slow clock. This leads to an angular error of 0.35 cycles, or 126 degrees, over the course of the 1,000-symbol packet. Since the receiver is decoding dense constellations where points can be separated by as little as four degrees, receiver performance may be seriously degraded.
To attempt to compensate for this timing difference, conventional receivers sometime employ a mechanism for creating a virtual clock that tracks the transmitter""s clock (or the transmitter""s symbol rate or a multiple of the transmitter""s symbol rate). In order for the virtual clock to track the transmitter""s clock, some conventional receivers generally require some type of error signal that indicates the difference between the local virtual clock and the transmit symbol clock. There are a number of conventional techniques to extract this error signal. One of these techniques is commonly referred to as Envelope Derived Timing (EDT), which generally measures the phase of the incoming signal""s power envelope relative to a local clock. Band Edge Component Maximization (BECM) is a specific EDT technique that is often used in modem receivers that train and remain active over many thousands or millions of symbols periods. This technique is generally data-pattern-dependent unless the receiver averages the measurement over a long period to take advantage of the long-term statistics of the transmit data. However, in some applications this process is too slow to be used effectively with short data packets, such as of HPNA data packets.
Another limitation with some network receivers is that the signal processing functions are primarily implemented in hardware. Consequently, any timing error detector that is significantly complex will significantly increase hardware complexity, design cycles, and final product cost.
The present system and method overcome or substantially alleviate receiver degradation caused by differences between a transmitter""s clock and a receiver""s local clock by incorporating a phase detector, or error detector, into the receiver. In general, the present system and method determine the frequency offset between a transmitter and a receiver according to the angular change of an adaptive equalizer center tap over a predetermined period.
One embodiment of the present system uses a linear equalizer, which is constructed as a finite impulse response (xe2x80x9cFIRxe2x80x9d) filter, to measure the rotational error in a channel of the receiver. Specifically, the linear equalizer generates coefficients over time in order to minimize equalizer error (the difference between received points and decisions). The changes in these coefficients over time is an observable metric that indicates carrier frequency error. The rate of rotation of the coefficients can be observed by measuring the change in angle of the center tap of the linear equalizer over a predefined interval (for example, 32 symbol periods). The frequency error is determined by dividing the change in angle by the time interval.
Once the frequency error is determined, a coefficient generator determines the interpolation phase of an input sample stream based on the frequency error (or frequency difference estimate) and generates interpolator coefficients to modify the input sample stream. The coefficients are fed into a timing interpolating filter (xe2x80x9cTIFxe2x80x9d) that is located between the receiver""s analog to digital converter (xe2x80x9cADCxe2x80x9d) and the receiver""s low pass filter (xe2x80x9cLPFxe2x80x9d). The TIF modifies the effective sample rate of the ADC stream to match the sample rate of the transmitter""s digital to analog converter (xe2x80x9cDACxe2x80x9d). Accordingly, the local carrier frequency reference for demodulation at the LPF is substantially equal to the transmit carrier frequency used for modulation, and the angular rotational error and associated receiver degradation stops.
Other advantages and features of the present invention will be apparent from the drawings and detailed description as set forth below.